<?php

class UserController extends Zend_Controller_Action
{

    public function init()
    {
        /* Initialize action controller here */
    }


    public function indexAction()
    {
	$this->_redirect($_SERVER['HTTP_REFERER']);
    }

    public function loginAction()
    {
	if ($this->_request->isPost())
	{
	    Zend_Loader::loadClass('Zend_Filter_StripTags');
	    
	    $filter = new Zend_Filter_StripTags();
	    $login = trim($filter->filter($this->_request->getPost('login')));
	    $password = $this->_request->getPost('passwd');
	    
	    $user = new User();
	    
	    if ($user->login($login,$password))
	    	$this->_redirect($_SERVER['HTTP_REFERER']);
	    else
	    {
		echo("error");
		return false;
	    }
	};
    }

    public function logoutAction()//
    {
	$user = new User();
	$user->logout();	
	$this->_redirect($_SERVER['HTTP_REFERER']);
    }

    public function settingsAction()
    {
        // action body
    }

    public function registerAction()
    {
        // action body
	Zend_Loader::loadClass('Register');
	$form = new Register();
	
	if ($this->_request->isPost())
	{
	    if ($form->isValid($this->_request->getPost()))
    	    {
		$values = $form->getValues();
		$user = new User();
                if (!$id=$user->addUser($values['login'],$values['password'],$values['email']))
		{
		    echo("error");
		    $this->view->form = $form;
		    return;
		}
		if ($user->confirmEmail)
		{
		    $hash=$user->addEmailConfirm($id);
		    
		    Zend_Loader::loadClass('Email');
		    $mail = new RegisterEmail();
		    $mail->setTo($values['email']);
		    $mail ->setHash($hash);
		    $mail->sendMail();
		    
		    echo("good");
		}
//	        $this->redirector->goToUrl('/');
	    };
	}
	$this->view->form = $form;

    }

    public function emailconfirmAction()
    {
	$user = new User();

	if ($user->isLogined())
	    $this->_redirect('/');
	else
	{
	    $param=$this->_request->getParam('hash');
	
	    if ($id=$user->delEmailConfirmByHash($param))
	    {
		$this->view->action="EmailConfirmHashOK";
	        echo('<div>Регистрация прошла успешно, почтовый адрес '.$user->getEmail($id).' подтвержден.<br />Теперь Вы можете перейти на <a href="'.$this->view->serverUrl("/").'">главную</a> страницу и залогиниться на сайт.</div>');
	        return;
	    }
	    else
	    {
		echo('<div>Если Вы перешли по ссылке, которую Вы получили по электронной почте, то скорей всего данный аккаунт уже активирован или удален.<br /> Напоминаем, что активация аккаунта по данной ссылке должна была быть произведена не позже 7 дней после регистрации на сайте.</div>');
		return;
	    };
	}
    }


}

